#include<iostream>
using namespace std;
#include<string.h>
#include<unistd.h>
#include<sys/types.h>

int val = 100;
int main(){
    //进程地址空间的写时拷贝
    pid_t id = fork();
    if(id == 0){
        //子进程
        int cnt = 0;
        while(1){
            printf("我是子进程，我的id为：%d,我的ppid为：%d,val:%d,&val:%p\n",getpid(),getppid(),val,&val);
            sleep(1);
            if(cnt++ == 10){
                val = 300;
                printf("val已经修改\n");
            }
        }
    }

    //父进程
    while(1){
        printf("我是父进程，我的id为：%d,我的ppid为：%d,val:%d,&val:%p\n",getpid(),getppid(),val,&val);
        sleep(1);
    }




    // extern char** environ;
    // for(int i = 0;environ[i];i++){
    //     printf("%d->%s\n",i,environ[i]);
    // }


    return 0;
}